package com.abth.douyin.util;

import com.abth.douyin.domain.DouyinCity;
import com.abth.douyin.domain.DouyinShop;
import com.abth.douyin.service.IDouyinCityService;
import com.abth.douyin.service.IDouyinShopService;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.common.utils.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.*;

@Component
public class SpiderUtil {

    private static final Logger log = LoggerFactory.getLogger(SpiderUtil.class);

    @Autowired
    private IDouyinShopService douyinShopService;

    @Autowired
    private IDouyinCityService douyinCityService;

    private static final int MAX_REPEART_COUNT = 20;

//    public static void main(String[] args) {
//        SpiderUtil.initCity();
//    }

    public void initCity(){
        JSONObject jsonObject = JSON.parseObject(ResourceUtil.getResourceAsStream("city.json"));
        JSONArray provinceList = jsonObject.getJSONArray("province_list");
        for (int i = 0; i < provinceList.size(); i++) {
            String code = provinceList.getJSONObject(i).getString("code");
            String name = provinceList.getJSONObject(i).getString("name");
            JSONArray cities = provinceList.getJSONObject(i).getJSONArray("cities");
            System.out.println(code + "|"+name+"|"+cities.size());

            for (int i1 = 0; i1 < cities.size(); i1++) {
                String cityCode = cities.getJSONObject(i1).getString("code");
                String cityName = cities.getJSONObject(i1).getString("name");

                DouyinCity city = new DouyinCity();
                city.setCityCode(cityCode);
                city.setCityName(cityName);
                city.setPrivinceCode(code);
                city.setPrivinceName(name);
                douyinCityService.insertDouyinCity(city);
            }
        }
        

    }


    public SpiderResult crawShop(String keyword, String  cityCode, String categoryCodeList) throws IOException {
        SpiderResult result = new SpiderResult();
        int curPage = 1;
        Pair<JSONObject, Boolean> pair = getMainDoc(curPage, keyword, cityCode, categoryCodeList, result);
        int repeat = 0;
        do{
            if(result.getLevel() == -1){
                break;
            }
            if(pair.getLeft() == null){
                break;
            }
            if(repeat > MAX_REPEART_COUNT){
                break;
            }
            // 获取下一页
            JSONArray poiDataList = pair.getLeft().getJSONArray("poi_data_list");
            for(int i = 0; i < poiDataList.size(); i++){

                Integer claimStatus = poiDataList.getJSONObject(i).getInteger("claim_status");
                Integer tag = poiDataList.getJSONObject(i).getInteger("tag");
                String tagText = poiDataList.getJSONObject(i).getString("tag_text");

                // 只需要未认领的
//                if(!claimStatus.equals(1)){
//                }

                String poiId = poiDataList.getJSONObject(i).getString("poi_id");
                JSONObject poiDraftInfo = getPoiDraftInfo(poiId, false);
                // 需要刷新cookie，重新请求一次
                if(poiDraftInfo == null){
                    getPoiDraftInfo(poiId, true);
                }
                String telephone = poiDraftInfo.getString("telephone");
                if(StringUtils.isNotEmpty(telephone)){
                    DouyinShop shop = new DouyinShop();
                    String[] split = telephone.split(";");
                    List<String> phones = new ArrayList<>();
                    List<String> tels = new ArrayList<>();
                    for (int j = 0; j < split.length; j++) {
                        if(split[j].length() == 11){
                            phones.add(split[j]);
                        }else{
                            tels.add(split[j]);
                        }
                    }
                    if(phones.size() > 0){
                        shop.setPhone1(phones.get(0));
                    }
                    if(phones.size() > 1){
                        shop.setPhone2(phones.get(1));
                    }
                    if(tels.size() > 0){
                        shop.setTel1(tels.get(0));
                    }
                    if(tels.size() > 1){
                        shop.setTel2(tels.get(1));
                    }
                    shop.setTelephone(telephone);
                    shop.setPoiId(poiDraftInfo.getString("poi_id"));
                    shop.setPoiName(poiDraftInfo.getString("poi_name"));
                    shop.setBackendTypeCode(poiDraftInfo.getString("backend_type_code"));
                    shop.setBackendTypeName(poiDraftInfo.getString("backend_type_name"));
                    shop.setOpenStatus(poiDraftInfo.getLong("open_status"));
                    shop.setProvince(poiDraftInfo.getJSONObject("address_info").getString("province"));
                    shop.setCity(poiDraftInfo.getJSONObject("address_info").getString("city"));
                    shop.setAddress(poiDraftInfo.getJSONObject("address_info").getString("address"));
                    shop.setAdCode(poiDraftInfo.getJSONObject("address_info").getString("ad_code"));
                    shop.setLongitude(poiDraftInfo.getString("longitude"));
                    shop.setLatitude(poiDraftInfo.getString("latitude"));
                    shop.setKeyword(keyword);
                    shop.setCityCode(cityCode);
                    shop.setCategoryCode(categoryCodeList);
                    shop.setCrawDate(new Date());
                    try{
                        // 判断是否已抓取过
                        if(douyinShopService.selectDouyinShopByPoiId(shop.getPoiId()) == null){
                            System.out.println("shop==>"+shop);
                            douyinShopService.insertDouyinShop(shop);
                            repeat = 0;
                        }else{
                            repeat++;
                            log.warn("重复抓取!");
                        }
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                }
            }

            pair = getMainDoc(++curPage, keyword, cityCode, categoryCodeList, result);
        }
        while(pair.getRight());

        return result;
    }

    private JSONObject getPoiDraftInfo(String poiId, boolean isFlash) throws IOException {
//        String url = "https://life.douyin.com/life/merchant/v1/poi/draft/save/?root_life_account_id=7425901891567011879";
        String url = "https://life.douyin.com/life/merchant/v1/poi/draft/save/?root_life_account_id=7261806804160481315";
        Document doc = Jsoup.connect(url)
                .headers(isFlash?flashHeaderMap():buildHeaderMap())
                .requestBody("{\"poi_draft_info\":{\"poi_id\":\""+ poiId +"\"},\"version\":1}")
                .ignoreContentType(true)
                .post();
        System.out.println("draf："+doc.text());

        JSONObject draftObj = JSON.parseObject(doc.text());
        JSONObject poiDraftInfo = draftObj.getJSONObject("poi_draft_info");
        return poiDraftInfo;
    }

    private static Pair<JSONObject, Boolean> getMainDoc(int curPage, String keyword, String cityCode, String categoryCodeList, SpiderResult result) throws IOException {
//        String url0 = "https://life.douyin.com/life/merchant/v1/poi/search/keyword/?keyword=%s&page=%d&size=%d&city_code=%s&template_type=open_multi_account&tag_scene=0&search_poi_rule=0&category_code_list=%s&root_life_account_id=7425901891567011879";
        String url0 = "https://life.douyin.com/life/merchant/v1/poi/search/keyword/?keyword=%s&page=%d&size=%d&city_code=%s&template_type=open_multi_account&tag_scene=0&search_poi_rule=0&category_code_list=%s&root_life_account_id=7261806804160481315";

        url0 = String.format(url0, keyword, curPage, 18, cityCode, categoryCodeList);
        Document doc = Jsoup.connect(url0)
                .headers(buildHeaderMap())
                .ignoreContentType(true)
                .get();
        try{
            System.out.println("mainDoc:"+doc.text());
            JSONObject jsonObject = JSON.parseObject(doc.text());
            if(jsonObject == null){
                doc = Jsoup.connect(url0)
                        .headers(flashHeaderMap())
                        .ignoreContentType(true)
                        .get();
                jsonObject = JSON.parseObject(doc.text());
                if(jsonObject == null){
                    log.error("url:{}两次都采集失败", url0);
                    result.setLevel(-1);
                    result.setMsg("两次采集都失败了，终止采集！");
                    return Pair.of(null, false);
                }
            }
            if(jsonObject.getInteger("status_code").equals(4000100)){
                result.setLevel(-1);
                result.setMsg(jsonObject.getString("status_msg"));
                return Pair.of(null, false);
            }
            Boolean hasMore = jsonObject.getBoolean("has_more");
            return Pair.of(jsonObject, hasMore);
        }catch (Exception e){
            e.printStackTrace();
            log.error("url:{}采集失败，返回结果:{}", url0, doc.text());
        }
        return Pair.of(null, false);
    }

//    private static Map<String, String> buildHeaderMap(){
//        Map<String, String> headerMap = new HashMap<>();
//        headerMap.put("accept", "application/json, text/plain, */*");
//        headerMap.put("cookie", "gfkadpd=299467,22075; passport_csrf_token=9cf70fbbed4ad1d341cb0fdf0dae89fb; passport_csrf_token_default=9cf70fbbed4ad1d341cb0fdf0dae89fb; passport_auth_status_ls=0abbe8c6cb0e02a5a415b52c5a71ecf0%2C; passport_auth_status_ss_ls=0abbe8c6cb0e02a5a415b52c5a71ecf0%2C; sid_guard_ls=985ec3b9af74bd3f1c7d2b68eb601064%7C1756603894%7C5184002%7CThu%2C+30-Oct-2025+01%3A31%3A36+GMT; sid_guard_ls=985ec3b9af74bd3f1c7d2b68eb601064%7C1756603894%7C5184002%7CThu%2C+30-Oct-2025+01%3A31%3A36+GMT; is_hit_partitioned_cookie_canary=true; is_hit_partitioned_cookie_canary=true; uid_tt_ls=b2bec19326ec3f1146d239d81abc817c; uid_tt_ls=b2bec19326ec3f1146d239d81abc817c; uid_tt_ss_ls=b2bec19326ec3f1146d239d81abc817c; uid_tt_ss_ls=b2bec19326ec3f1146d239d81abc817c; is_hit_partitioned_cookie_canary_ss=true; is_hit_partitioned_cookie_canary_ss=true; sid_tt_ls=985ec3b9af74bd3f1c7d2b68eb601064; sid_tt_ls=985ec3b9af74bd3f1c7d2b68eb601064; sessionid_ls=985ec3b9af74bd3f1c7d2b68eb601064; sessionid_ls=985ec3b9af74bd3f1c7d2b68eb601064; sessionid_ss_ls=985ec3b9af74bd3f1c7d2b68eb601064; sessionid_ss_ls=985ec3b9af74bd3f1c7d2b68eb601064; session_tlb_tag_ls=sttt%7C3%7CmF7Dua90vT8cfSto62AQZP________--xbx_UPpJkOrNQmi7yAkzkduyH6mPa5rJ5wBgtVoopCM%3D; session_tlb_tag_ls=sttt%7C3%7CmF7Dua90vT8cfSto62AQZP________--xbx_UPpJkOrNQmi7yAkzkduyH6mPa5rJ5wBgtVoopCM%3D; is_staff_user_ls=false; is_staff_user_ls=false; sid_ucp_v1_ls=1.0.0-KDg3OTY1YzY4NDYxMDI5M2NhNTQxZWIxOWU4MzVlYzBkNWVhOTZhYzgKGgi7nMDSs63cBRD2y87FBhjRwRIgDDgCQOwHGgJsZiIgOTg1ZWMzYjlhZjc0YmQzZjFjN2QyYjY4ZWI2MDEwNjQ; sid_ucp_v1_ls=1.0.0-KDg3OTY1YzY4NDYxMDI5M2NhNTQxZWIxOWU4MzVlYzBkNWVhOTZhYzgKGgi7nMDSs63cBRD2y87FBhjRwRIgDDgCQOwHGgJsZiIgOTg1ZWMzYjlhZjc0YmQzZjFjN2QyYjY4ZWI2MDEwNjQ; ssid_ucp_v1_ls=1.0.0-KDg3OTY1YzY4NDYxMDI5M2NhNTQxZWIxOWU4MzVlYzBkNWVhOTZhYzgKGgi7nMDSs63cBRD2y87FBhjRwRIgDDgCQOwHGgJsZiIgOTg1ZWMzYjlhZjc0YmQzZjFjN2QyYjY4ZWI2MDEwNjQ; ssid_ucp_v1_ls=1.0.0-KDg3OTY1YzY4NDYxMDI5M2NhNTQxZWIxOWU4MzVlYzBkNWVhOTZhYzgKGgi7nMDSs63cBRD2y87FBhjRwRIgDDgCQOwHGgJsZiIgOTg1ZWMzYjlhZjc0YmQzZjFjN2QyYjY4ZWI2MDEwNjQ; odin_tt=f0caabc816eb4f8956e6a81c5395152215fc189c40cf27b7fff8b14d6bed3793ac3f1ffc57709d0492c504a81eea96f9; csrf_session_id=94e53f886e5c66b0630c6cf8ecf74e0d; ttwid=1%7CMXeYvn7cJu98to7CLJ669bU2BMfUf5bWYuSFgvONgko%7C1756647954%7C61032bfd91d9f9ff4a2c8b0e33d2b65f33e2554543693d32c8afa287b2d8e4dd");
//        headerMap.put("x-secsdk-csrf-token", "000100000001b10684349037374b65b313d91f8937eb96f14168059909d58f0569ac6ff3c21c1860de01cd79412f");
//        headerMap.put("x-tt-ls-session-id", "af6a298b-2790-4ad5-82e3-77298498c8cc");
//        return headerMap;
//    }

//    private static Map<String, String> flashHeaderMap(){
//        Map<String, String> headerMap = new HashMap<>();
//        headerMap.put("accept", "application/json, text/plain, */*");
//        headerMap.put("cookie", "passport_csrf_token=01ad1433495cadb38b1d2063b7fbb810; passport_csrf_token_default=01ad1433495cadb38b1d2063b7fbb810; passport_auth_status_ls=95749d75e100ff1b7ee4d422b37c8d3f%2C; passport_auth_status_ss_ls=95749d75e100ff1b7ee4d422b37c8d3f%2C; sid_guard_ls=6a12bbcd012668497c1c089604071407%7C1756774061%7C5184002%7CSat%2C+01-Nov-2025+00%3A47%3A43+GMT; sid_guard_ls=6a12bbcd012668497c1c089604071407%7C1756774061%7C5184002%7CSat%2C+01-Nov-2025+00%3A47%3A43+GMT; is_hit_partitioned_cookie_canary=true; is_hit_partitioned_cookie_canary=true; uid_tt_ls=16e8a072ec1259a7ceadbb869e30f0b2; uid_tt_ls=16e8a072ec1259a7ceadbb869e30f0b2; uid_tt_ss_ls=16e8a072ec1259a7ceadbb869e30f0b2; uid_tt_ss_ls=16e8a072ec1259a7ceadbb869e30f0b2; is_hit_partitioned_cookie_canary_ss=true; is_hit_partitioned_cookie_canary_ss=true; sid_tt_ls=6a12bbcd012668497c1c089604071407; sid_tt_ls=6a12bbcd012668497c1c089604071407; sessionid_ls=6a12bbcd012668497c1c089604071407; sessionid_ls=6a12bbcd012668497c1c089604071407; sessionid_ss_ls=6a12bbcd012668497c1c089604071407; sessionid_ss_ls=6a12bbcd012668497c1c089604071407; session_tlb_tag_ls=sttt%7C6%7CahK7zQEmaEl8HAiWBAcUB_________-eTWZUjS0IPN2ZSpynhPBjszjeFpQT6ll0rx_5eYGAnV8%3D; session_tlb_tag_ls=sttt%7C6%7CahK7zQEmaEl8HAiWBAcUB_________-eTWZUjS0IPN2ZSpynhPBjszjeFpQT6ll0rx_5eYGAnV8%3D; is_staff_user_ls=false; is_staff_user_ls=false; sid_ucp_v1_ls=1.0.0-KDYxODIxOTM1MzNiY2FiNjBkYTA5YThiNmQ4NTVmZjYyYjIxY2JmMDMKGgi7nMDSs63cBRCt_djFBhjRwRIgDDgCQPEHGgJobCIgNmExMmJiY2QwMTI2Njg0OTdjMWMwODk2MDQwNzE0MDc; sid_ucp_v1_ls=1.0.0-KDYxODIxOTM1MzNiY2FiNjBkYTA5YThiNmQ4NTVmZjYyYjIxY2JmMDMKGgi7nMDSs63cBRCt_djFBhjRwRIgDDgCQPEHGgJobCIgNmExMmJiY2QwMTI2Njg0OTdjMWMwODk2MDQwNzE0MDc; ssid_ucp_v1_ls=1.0.0-KDYxODIxOTM1MzNiY2FiNjBkYTA5YThiNmQ4NTVmZjYyYjIxY2JmMDMKGgi7nMDSs63cBRCt_djFBhjRwRIgDDgCQPEHGgJobCIgNmExMmJiY2QwMTI2Njg0OTdjMWMwODk2MDQwNzE0MDc; ssid_ucp_v1_ls=1.0.0-KDYxODIxOTM1MzNiY2FiNjBkYTA5YThiNmQ4NTVmZjYyYjIxY2JmMDMKGgi7nMDSs63cBRCt_djFBhjRwRIgDDgCQPEHGgJobCIgNmExMmJiY2QwMTI2Njg0OTdjMWMwODk2MDQwNzE0MDc; odin_tt=056694a7ca6ac77900eb347725705f6f143596172a7524cd12e8f13e679c45ac70bc695c3e0131dd9450294f29737ffa; gfkadpd=299467,22075; csrf_session_id=5811e3f678221e8d4c57e4e76160bb10; ttwid=1%7CbvyYntCIwGjpxSQodm2UikAP7zjZ17S9fZ0Ex6bElqE%7C1757328873%7C45c113806f961c8061f5c8589581abab8aeae963b076e257c9d749fcb370b37f");
//        headerMap.put("x-secsdk-csrf-token", "0001000000012574b8630ff82f5f57626f92b036912e0ee3fee3eec74901d72b2fb236db7cae1863494ca143f086");
//        headerMap.put("x-tt-ls-session-id", "36fb4306-2de0-47b8-a32c-5f81e98b392d");
//        return headerMap;
//    }

    private static Map<String, String> buildHeaderMap(){
        Map<String, String> headerMap = new HashMap<>();
        headerMap.put("accept", "application/json, text/plain, */*");
        headerMap.put("cookie", "passport_csrf_token=9cf70fbbed4ad1d341cb0fdf0dae89fb; passport_csrf_token_default=9cf70fbbed4ad1d341cb0fdf0dae89fb; is_hit_partitioned_cookie_canary=true; is_hit_partitioned_cookie_canary=true; is_hit_partitioned_cookie_canary_ss=true; is_hit_partitioned_cookie_canary_ss=true; is_staff_user_ls=false; is_staff_user_ls=false; s_v_web_id=verify_mgx4oqtu_5862b995_3816_7416_8663_92b66fd6b08b; passport_auth_status_ls=74b08b08dcc65655cfe41c5b24bd3b59%2C435b13f1a021dde7f64686c627d35256; passport_auth_status_ss_ls=74b08b08dcc65655cfe41c5b24bd3b59%2C435b13f1a021dde7f64686c627d35256; sid_guard_ls=b7c2b63f9c5a66a3717329e56cdbf4a9%7C1760843412%7C5184001%7CThu%2C+18-Dec-2025+03%3A10%3A13+GMT; sid_guard_ls=b7c2b63f9c5a66a3717329e56cdbf4a9%7C1760843412%7C5184001%7CThu%2C+18-Dec-2025+03%3A10%3A13+GMT; uid_tt_ls=7074cf4654cfcd198b6ace1c9b38465a; uid_tt_ls=7074cf4654cfcd198b6ace1c9b38465a; uid_tt_ss_ls=7074cf4654cfcd198b6ace1c9b38465a; uid_tt_ss_ls=7074cf4654cfcd198b6ace1c9b38465a; sid_tt_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sid_tt_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ss_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ss_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; session_tlb_tag_ls=sttt%7C11%7Ct8K2P5xaZqNxcynlbNv0qf_________ytRSn3cFCjSgI3BruDvKs8ovwVNLdZ4seNFpKxichhPM%3D; session_tlb_tag_ls=sttt%7C11%7Ct8K2P5xaZqNxcynlbNv0qf_________ytRSn3cFCjSgI3BruDvKs8ovwVNLdZ4seNFpKxichhPM%3D; sid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; sid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; ssid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; ssid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; odin_tt=b8a2daaf85ad4b79981750f5aefff251b18913ef88b183fe6c5da220c901b66a4ba47a0eab882091b4c33f67064cbd70; gfkadpd=299467,22075; csrf_session_id=9219686d43f2d4f53203dd695f47b471; ttwid=1%7CMXeYvn7cJu98to7CLJ669bU2BMfUf5bWYuSFgvONgko%7C1761472950%7Cb45b89c0eebf20cfd082cf357570b44670b3529ace8f0fd1fc687cc8a8060081");
        headerMap.put("x-secsdk-csrf-token", "000100000001ceaebc0b94ebde20bb0347f009d2644d57ee9fad22b04dbcd8f61642847443e118720250a3797ffe");
        headerMap.put("x-tt-ls-session-id", "516cde1d-3ae6-493c-aa7f-e4e52dc93b17");
        return headerMap;
    }

    private static Map<String, String> flashHeaderMap(){
        Map<String, String> headerMap = new HashMap<>();
        headerMap.put("accept", "application/json, text/plain, */*");
        headerMap.put("cookie", "passport_csrf_token=9cf70fbbed4ad1d341cb0fdf0dae89fb; passport_csrf_token_default=9cf70fbbed4ad1d341cb0fdf0dae89fb; is_hit_partitioned_cookie_canary=true; is_hit_partitioned_cookie_canary=true; is_hit_partitioned_cookie_canary_ss=true; is_hit_partitioned_cookie_canary_ss=true; is_staff_user_ls=false; is_staff_user_ls=false; s_v_web_id=verify_mgx4oqtu_5862b995_3816_7416_8663_92b66fd6b08b; passport_auth_status_ls=74b08b08dcc65655cfe41c5b24bd3b59%2C435b13f1a021dde7f64686c627d35256; passport_auth_status_ss_ls=74b08b08dcc65655cfe41c5b24bd3b59%2C435b13f1a021dde7f64686c627d35256; sid_guard_ls=b7c2b63f9c5a66a3717329e56cdbf4a9%7C1760843412%7C5184001%7CThu%2C+18-Dec-2025+03%3A10%3A13+GMT; sid_guard_ls=b7c2b63f9c5a66a3717329e56cdbf4a9%7C1760843412%7C5184001%7CThu%2C+18-Dec-2025+03%3A10%3A13+GMT; uid_tt_ls=7074cf4654cfcd198b6ace1c9b38465a; uid_tt_ls=7074cf4654cfcd198b6ace1c9b38465a; uid_tt_ss_ls=7074cf4654cfcd198b6ace1c9b38465a; uid_tt_ss_ls=7074cf4654cfcd198b6ace1c9b38465a; sid_tt_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sid_tt_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ss_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; sessionid_ss_ls=b7c2b63f9c5a66a3717329e56cdbf4a9; session_tlb_tag_ls=sttt%7C11%7Ct8K2P5xaZqNxcynlbNv0qf_________ytRSn3cFCjSgI3BruDvKs8ovwVNLdZ4seNFpKxichhPM%3D; session_tlb_tag_ls=sttt%7C11%7Ct8K2P5xaZqNxcynlbNv0qf_________ytRSn3cFCjSgI3BruDvKs8ovwVNLdZ4seNFpKxichhPM%3D; sid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; sid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; ssid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; ssid_ucp_v1_ls=1.0.0-KDg1M2FkYzBhOTc3NWE2MjZlMmEyOTI5YzVhNmEwMjVhOWNkOTgxN2EKGgi7nMDSs63cBRCUrdHHBhjRwRIgDDgCQPEHGgJsZiIgYjdjMmI2M2Y5YzVhNjZhMzcxNzMyOWU1NmNkYmY0YTk; odin_tt=b8a2daaf85ad4b79981750f5aefff251b18913ef88b183fe6c5da220c901b66a4ba47a0eab882091b4c33f67064cbd70; gfkadpd=299467,22075; csrf_session_id=9219686d43f2d4f53203dd695f47b471; ttwid=1%7CMXeYvn7cJu98to7CLJ669bU2BMfUf5bWYuSFgvONgko%7C1761472950%7Cb45b89c0eebf20cfd082cf357570b44670b3529ace8f0fd1fc687cc8a8060081");
        headerMap.put("x-secsdk-csrf-token", "000100000001ceaebc0b94ebde20bb0347f009d2644d57ee9fad22b04dbcd8f61642847443e118720250a3797ffe");
        headerMap.put("x-tt-ls-session-id", "516cde1d-3ae6-493c-aa7f-e4e52dc93b17");
        return headerMap;
    }


}
